package cdu.zch.healthcare;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class BuyMedicineDetailsActivity extends AppCompatActivity {

    TextView tvPackageName, tvTotalCost;
    EditText edDetails;
    Button btnBack, btnAddToCart;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_buy_medicine_details);

        //初始化 TextView、EditText 和 Button 视图，分别用于显示药品名称、总成本、详细信息以及返回按钮和添加到购物车按钮。
        tvPackageName = findViewById(R.id.textViewBMDPackageName);
        tvTotalCost = findViewById(R.id.textViewBMDTotalCost);
        edDetails = findViewById(R.id.editTextTextBMDMultiLine);
        edDetails.setKeyListener(null);
        btnBack = findViewById(R.id.buttonBMDGoBackBuy);
        btnAddToCart = findViewById(R.id.buttonAddBMDToCart);

        //从接收到的意图（Intent）中获取传递过来的药品名称、详细信息和价格，并设置到对应的视图组件中显示。
        Intent intent = getIntent();
        tvPackageName.setText(intent.getStringExtra("text1"));
        edDetails.setText(intent.getStringExtra("text2"));
        tvTotalCost.setText("合计 : " + intent.getStringExtra("text3") + "/-");


        //设置返回按钮的点击事件监听器，点击时返回到 BuyMedicineActivity 活动
        btnBack.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(BuyMedicineDetailsActivity.this, BuyMedicineActivity.class));
            }
        });

        // 添加进购物车
        //设置添加到购物车按钮的点击事件监听器。
        //获取共享首选项中的用户名。
        //从视图中获取药品名称和价格。
        //创建 Database 对象，并检查购物车中是否已经存在该药品。
        //如果药品已经在购物车中，则显示消息 "Product Already Added"。
        //否则，将药品信息添加到购物车数据库，并显示消息 "Record Inserted to Cart"。
        //最后，返回到 BuyMedicineActivity 活动。
        btnAddToCart.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SharedPreferences sharedpreferences = getSharedPreferences("shared_prefs", Context.MODE_PRIVATE);
                String username = sharedpreferences.getString("username", "").toString();
                String product = tvPackageName.getText().toString();
                float price = Float.parseFloat(intent.getStringExtra("text3").toString());

                Database db = new Database(getApplicationContext(), "healthcare", null, 3);
                if (db.checkCart(username, product) == 1) {
                    Toast.makeText(getApplicationContext(), "Product Already Added", Toast.LENGTH_SHORT).show();
                } else {
                    db.addCart(username, product, price, "medicine");
                    Toast.makeText(getApplicationContext(), "Record Inserted to Cart", Toast.LENGTH_SHORT).show();
                    startActivity(new Intent(BuyMedicineDetailsActivity.this, BuyMedicineActivity.class));
                }
            };
        });
    }
}